<?php

	include("../../includes/ez_sql_core.php");
	include("../../includes/ez_sql_mysql.php");
	if(isset($_POST["nick"], $_POST["password"], $_POST["email"], $_POST["nombre"], $_POST["sexo"], $_POST["nacimiento"], $_POST["ciudad"], $_POST["pais"], $_POST["rol"]))
	{
		 $db = new ezSQL_mysql("root","","biblioteca","localhost");

		 $db->get_results("SELECT *
		 				   FROM usuarios
		 				   WHERE email='$_POST[email]' AND nick <> '$_POST[nick]'");

		 if($db->num_rows == 0)
		 {

			 $db->get_results("SELECT *
			 					FROM usuarios
			 					WHERE nick='" . $_POST["nick"] . "'");
			 if($db->num_rows == 1)
			 {
			 	$usuario = $db->get_row();

			 	if(empty($_POST["password"]))
			 	{
			 		$db->query("UPDATE usuarios
			 				SET nick='" . $_POST["nick"] . "',"
			 					    . "email='" . $_POST["email"] . "',"
			 					    . "nombre='" . $_POST["nombre"] . "',"
			 					    . "sexo='" . $_POST["sexo"] . "',"
			 					    . "nacimiento=" . $_POST["nacimiento"] . ","
			 					    . "ciudad='" . $_POST["ciudad"] . "',"
			 					    . "pais='" . $_POST["pais"] .
			 			   "' WHERE nick='" . $_POST["nick"] . "'");
			 	}else{

				 	$db->query("UPDATE usuarios
				 				SET nick='" . $_POST["nick"] . "',"
				 					    . "password='" . sha1($_POST["password"]) . "',"
				 					    . "email='" . $_POST["email"] . "',"
				 					    . "nombre='" . $_POST["nombre"] . "',"
				 					    . "sexo='" . $_POST["sexo"] . "',"
				 					    . "nacimiento=" . $_POST["nacimiento"] . ","
				 					    . "ciudad='" . $_POST["ciudad"] . "',"
				 					    . "pais='" . $_POST["pais"] .
				 			   "' WHERE nick='" . $_POST["nick"] . "'");
				 }




			 	$db->get_results("SELECT *
			 					FROM usuarios AS u, administradores AS a
			 					WHERE u.codigo = a.codigo AND u.nick = '" . $_POST["nick"] . "'");

			 	$rolAnterior = "usuario";
			 	if($db->num_rows != 0)
			 	{
			 		$rolAnterior = "administrador";
			 	}

			 	$db->get_results("SELECT *
			 					FROM usuarios AS u, moderadores AS m
			 					WHERE u.codigo = m.codigo AND u.nick = '" . $_POST["nick"] . "'");

			 	if($db->num_rows != 0)
			 	{
			 		$rolAnterior = "moderador";
			 	}

			 	$db->get_results("SELECT *
			 					FROM usuarios AS u, baneados AS b
			 					WHERE u.codigo = b.usuario AND u.nick = '" . $_POST["nick"] . "'");

			 	if($db->num_rows != 0)
			 	{
			 		$rolAnterior = "baneado";
			 	}

			 	if($_POST["rol"] != $rolAnterior)
			 	{
			 		switch($_POST["rol"])
			 		{
			 			case "administrador":
			 				$db->query("INSERT INTO administradores
			 							VALUES (" . $usuario->codigo . ")");
			 				$db->query("DELETE FROM moderadores
										WHERE codigo=" . $usuario->codigo);
			 				$db->query("DELETE FROM baneados
										WHERE usuario=" . $usuario->codigo);
			 				break;
			 			case "moderador":
			 				$db->query("INSERT INTO moderadores
			 							VALUES (" . $usuario->codigo . ")");
			 				$db->query("DELETE FROM administradores
										WHERE codigo=" . $usuario->codigo);
			 				$db->query("DELETE FROM baneados
										WHERE usuario=" . $usuario->codigo);
			 				break;
			 			case "usuario":
			 				$db->query("DELETE FROM administradores
										WHERE codigo=" . $usuario->codigo);
			 				$db->query("DELETE FROM moderadores
										WHERE codigo=" . $usuario->codigo);
			 				$db->query("DELETE FROM baneados
										WHERE usuario=" . $usuario->codigo);
			 				break;
			 			case "baneado":
			 				if($_POST["tipoBaneo"] != "temporal")
			 				{
			 					$db->query("INSERT INTO baneados
			 							VALUES (" . $usuario->codigo . ", " .
			 									 "'" . $_POST["tipoBaneo"] . "', " .
			 									 "'" . $_POST["razonBaneo"] . "',null)");
			 				}else{
			 					$db->query("INSERT INTO baneados
			 							VALUES (" . $usuario->codigo . ", " .
			 									 "'" . $_POST["tipoBaneo"] . "', " .
			 									 "'" . $_POST["razonBaneo"] . "', " .
			 									 "'" . $_POST["fechaBaneo"] . "')");
			 				}

			 				$db->query("DELETE FROM administradores
										WHERE codigo=" . $usuario->codigo);
			 				$db->query("DELETE FROM moderadores
										WHERE codigo=" . $usuario->codigo);
			 				break;

			 		}
			 	}else if($_POST["rol"] == "baneado")
			 	{
			 		if($_POST["tipoBaneo"] != "temporal")
			 		{
			 			$db->query("UPDATE baneados
				 					SET usuario=" . $usuario->codigo . ", " .
				 						"tipo='" . $_POST["tipoBaneo"] . "', " .
				 						"razon='" . $_POST["razonBaneo"] . "', " .
				 						"duracion=null");
			 		}else{
				 		$db->query("UPDATE baneados
				 					SET usuario=" . $usuario->codigo . ", " .
				 						"tipo='" . $_POST["tipoBaneo"] . "', " .
				 						"razon='" . $_POST["razonBaneo"] . "', " .
				 						"duracion='" . $_POST["fechaBaneo"] . "'");
			 		}
			 	}


			 	echo "ok";
			 }else{
			 	echo "El usuario que se desea editar no existe";
			 }
		}else{
			echo "Ya existe un usuario con ese email";
		}
	}
?>